Variably controlling access to content

ABSTRACT

A software module is presented that enables a person to determine the relevance of a document while preventing the person from making a copy of the entire document. In one embodiment, this is accomplished by programmatically controlling which portions of a document will be presented to a user and which portions will not be presented to the user. In one embodiment, the software module is used in conjunction with a search engine to present a document search result.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/501,735, filed on Jul. 13, 2009, entitled “Variably ControllingAccess To Content,” which is a continuation of U.S. patent applicationSer. No. 10/956,564, filed on Oct. 1, 2004, entitled “VariablyControlling Access To Content,” now issued as U.S. Pat. No. 7,603,355,both of which are incorporated herein by reference in their entirety.This application is related to the following applications, which arehereby incorporated by reference in their entirety: U.S. patentapplication Ser. No. 10/948,734, entitled “Image Distortion for ContentSecurity,” which was filed on Sep. 22, 2004 (U.S. Pat. No. 7,561,755);and U.S. patent application Ser. No. 10/953,496, entitled “Variable UserInterface Based on Document Access Privileges,” which was filed on Sep.30, 2004 (U.S. Pat. No. 7,664,751).

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to document security and, moreparticularly, to preventing a user from obtaining a copy of an entiredocument.

2. Description of the Background Art

It is easier to make a copy of information in electronic form than it isto make a copy of information in physical form. This fact makes contentowners wary of making their electronic information accessible by thepublic. However, content owners desire to provide their content tousers, often for a fee, and would benefit by having this information besearchable, in order to assist users in finding content that matchestheir interests and needs. Users of search engines in particular expectto be able to view the relevant portions of a document or other contentprior to purchasing the content. However, providing users access to therelevant portions typically results in giving users access to the entiredocument in a way that allows the user to make a copy of all of thecontent without paying for it.

Alternatively, it is possible to prohibit users' access to the relevantportions of a document until payment is received. However, in thatsituation, users are unable to see the relevant portions of the documentand thus cannot best judge whether the document satisfies theirinterests or needs and, as a result, are less likely to purchase thecontent.

Various other technologies have been developed with the goal of allowinga user to view a document while preventing the user from making a copyof it. One possibility is to allow a user to view only a portion of thedocument. If the user is allowed to choose which portion, however, ateam of users can obtain an entire document by coordinating efforts andrequesting different portions. Another possibility is to monitoraccesses to the document and try to detect attacks. Unfortunately,dynamically and rapidly monitoring data accesses is very difficult toimplement.

Other technologies developed to allow a user to view a document whilepreventing him from making a copy of it include, for example, modifyingthe user's browser to disable printing and specifying that an image, ifprinted, should be blank. While many technologies exist, each of themcan be circumvented.

What is needed is a way to allow a user to view an electronic documentwhile preventing the user from making a copy of the entire document.

SUMMARY OF THE INVENTION

A method for determining whether to present a portion of a document ispresented. The method includes not presenting the portion, responsive todetermining that the portion has been designated as inaccessible andpresenting the portion, responsive to determining that the portion hasbeen designated as absolutely accessible. The method further includes,responsive to determining that the portion has been designated asvariably accessible: evaluating a rule associated with the portion;presenting the portion, responsive to determining that the rule has beensatisfied; and not presenting the portion, responsive to determiningthat the rule has not been satisfied.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a general-purpose computing devicefor implementing the invention, according to one embodiment of theinvention.

FIG. 2 illustrates a block diagram of a software architecture for asystem that implements the invention, according to one embodiment of theinvention.

FIG. 3 illustrates a flowchart of a method performed by a main program,according to one embodiment of the invention.

FIG. 4 illustrates a frequency chart that shows, for each portion of adocument, the number of times that portion has been requested, accordingto one embodiment of the invention.

The figures depict a preferred embodiment of the present invention forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the invention described herein.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In this disclosure, a “document” is to be broadly interpreted to includeany machine-readable and machine-storable work product. A document canbe a file, a combination of files, one or more files with embedded linksto other files, etc. The files may be of any type, such as text, audio,image, video, etc. Parts of a document to be rendered to an end user canbe thought of as “content” of the document. A document can include“structured data” containing both content (words, pictures, etc.) andsome indication of the meaning of that content (for example, emailfields and associated data, HTML tags and associated data, etc.).

In the context of the Internet, a common document is a Web page. Webpages often include content and may include embedded information (suchas meta information, hyperlinks, etc.) and/or embedded instructions(such as JavaScript, etc.). In many cases, a document has a unique,addressable storage location and can therefore be uniquely identified bythis addressable location. A universal resource locator (URL) is aunique address used to access information on the Internet.

In one embodiment of the invention, a document is divided into multipleportions. For example, a “unitary” document, such as a 10-minute soundclip, is divided into five portions of two minutes each. Similarly, a“composite” document, which comprises multiple sub-documents, is dividedinto portions of one or more sub-documents. For example, a documentrepresenting a book can be a set of images, each image being one page ofthe book. This book document can then be divided into portions, with aportion comprising one or more images.

A portion, whether it comes from a unitary document or a compositedocument, is designated as inaccessible, absolutely accessible, orvariably accessible. A portion's designation programmatically controlswhether the portion is authorized to be presented to a user. When a userrequests a document or a portion thereof, portions designated asinaccessible are not authorized to be presented, while portionsdesignated as absolutely accessible are authorized to be presented. Inone embodiment, a document includes at least one portion that isdesignated as inaccessible. Since this inaccessible portion will neverbe presented, it is impossible to make a copy of the entire document,whether a user works alone or whether he coordinates his efforts withother users.

In this embodiment, while a document includes at least one inaccessibleportion, the determination of which portion should be so designated doesnot need to be made before the document is made available to the public.As long as a portion exists that has not yet been accessed, there isstill time to designate an inaccessible portion. For example, a documentis divided into five portions, two of which are initially designated asabsolutely accessible and three of which are initially designated asvariably accessible. Over time, users access various portions of thedocument. At some point, users may have accessed four of the fiveportions. At this time, the last remaining portion (which has not beenaccessed) can be designated as inaccessible. This portion might havebeen initially designated as either absolutely accessible or variablyaccessible.

Portions designated as variably accessible may or may not be presented.In one embodiment, whether a variably accessible portion is presented isbased on characteristics of the user attempting to access it. Thesecharacteristics can include, for example, the user's identity (userid,IP address, etc.), whether the user has provided certain pieces ofinformation (email address, credit card number, etc.), and how long theuser has been using the system. For example, a variably accessibleportion might be presented only when the user who requested it hadalready logged in. In this way, a portion's accessibility can vary amongusers. In one embodiment, each portion that has been designated asvariably accessible can use a different test to determine whether theportion should be presented to a particular user.

The division of a document into portions can be performed in many ways.In one embodiment, the division is based on portion size. For example,an audio clip document is divided into portions of thirty seconds each.In another embodiment, the division is based on the desired number ofportions. For example, a video clip document is divided into tenportions, regardless of how long the clip is. In yet another embodiment,the division is based on content structure. For example, a book documentcontaining chapters is divided into portions of one chapter each.

In one embodiment, a document's division into portions can change overtime. The division might be changed based on, for example, observedrequest and/or access patterns for specific portions of the document,where content that was requested and/or accessed by the same user atclose points in time is identified as being related and, as a result,grouped together into a single portion.

In one embodiment, a portion is designated as inaccessible, absolutelyaccessible, or variably accessible based on characteristics of theportion itself. These characteristics can include, for example, thecontent of the portion, the size of the portion, whether the portion hasbeen requested, the rate at which the portion has been requested,whether the portion has been accessed, or the rate at which the portionhas been accessed. For example, if a document included a story with asurprise ending, the portion of the document that contained the surpriseending could be designated as inaccessible. (The portion could beidentified by, for example, the document's author or publisher.) Asanother example, if a document included a story with a really engagingbeginning, the portion of the document that contained the beginningcould be designated as absolutely accessible.

In another embodiment, a portion is designated based on characteristicsof the document containing the portion. These characteristics caninclude, for example, the rate at which users are requesting and/oraccessing various portions of the document. For example, the variablyaccessible portion of a document that has been requested and/or accessedthe most can be designated as absolutely accessible. This would enhanceusers' experiences by allowing them to access popular content.Similarly, the access pattern information could be tailored to specificcharacteristics of the user. For example, the variably accessibleportion of a document that has been requested and/or accessed the mostby users who have logged in can be designated as absolutely accessible(if the user who requested the portion has logged in) or variablyaccessible (if the user who requested the portion has not logged in).

In one embodiment, a portion can be designated based on multiplecharacteristics (e.g., the content of the portion and the size of theportion). These characteristics can indicate the same designation ordifferent designations. For example, the rate at which users arerequesting and/or accessing the portion could indicate a designation ofvariably accessible, while the rate at which users are requesting and/oraccessing various portions of the document could indicate a designationof inaccessible.

If each characteristic indicates the same designation, then thatdesignation is used. If the characteristics indicate conflictingdesignations, then a conservative approach would be to choose the mostrestrictive designation. For example, an absolutely accessibledesignation and a variably accessible designation would result in avariably accessible designation. A liberal approach would be to choosethe least restrictive designation. For example, an absolutely accessibledesignation and a variably accessible designation would result in anabsolutely accessible designation.

Note that the liberal approach could produce a designation of variablyaccessible from initial designations of inaccessible and variablyaccessible. In one embodiment, the liberal approach is modified todetermine whether the portion in question is the only portion of thedocument that has not yet been accessed. In this situation, the portionwould be designated as inaccessible.

A portion's designation (including its variable accessibility rule, ifany) can be static or dynamic over time. However, designating a formerlyinaccessible portion as variably accessible or absolutely accessiblecould result in a user being able to make a copy of an entire document,either by acting alone or as part of a coordinated effort. Note that ifthis change were made long after the document was originally madeavailable, a user (or team of users) would have to make a concertedeffort, over a long period of time, to obtain the entire document. Thechance of this happening may be so small as to constitute an acceptablerisk in certain circumstances. If this risk must be avoided, however, itis still possible to modify portion designations from variablyaccessible to absolutely accessible or vice versa. Another option is tochange the user characteristics that determine variable accessibility.

In one embodiment, a portion's designation depends, in part, on pastrequest and/or access patterns associated with that portion. Forexample, a document repository can track, for a particular document, thenumber of times that each portion of the document was requested and/oraccessed. FIG. 4 illustrates a frequency chart that shows, for eachportion of a document, the number of times that portion has beenrequested, according to one embodiment of the invention.

In one embodiment, the portions that have been requested with thehighest frequency in the past are designated as inaccessible for thefuture, while the portions that have been requested with the lowestfrequency in the past are designated as absolutely accessible for thefuture. The rest of the portions are designated as variably accessible.

In another embodiment, the portions that have been requested with thehighest frequency in the past are designated as absolutely accessiblefor the future, while the portions that have been requested with thelowest frequency in the past are designated as inaccessible for thefuture. The rest of the portions are designated as variably accessible.Determining designations in this way enhances a user's experience. Mostof the time, the portion that a user is interested in will have beendesignated as absolutely accessible (or variably accessible) and thus isauthorized to be presented (or may be authorized to be presented) to theuser. It is unlikely that the portion will have been designated asinaccessible. However, since the inaccessible designation always appliesto at least one portion, users are prevented from making a copy of theentire document.

In one embodiment, a frequency chart is initially built based on a fewuser requests.

The initial chart is generally biased towards the first few userrequests. If the first few user requests are atypical, the frequencychart may not indicate the portions that would be requested the most bythe general public. Over time, as more requests are received, thefrequency chart is updated, and the initial bias can be corrected.Eventually, the frequency chart matures and enables popular content andunpopular content to be identified and, as a result, designated asabsolutely accessible and inaccessible, respectively.

In one embodiment, a frequency chart is built based on requests from allusers. In another embodiment, a frequency chart is built based onrequests from only users with certain characteristics. For example, afrequency chart can be “specialized” based on requests from only userswho have logged in or only users who have been using the system for aparticular amount of time. A specialized frequency chart can bedetermined based on a user's characteristics and then used to designateportions that that user requests. In this way, users with differentcharacteristics can encounter different designations for the sameportion of the same document.

1. Search Context

The document designations described above can be used in a searchcontext. For example, a user enters a search query and receives resultscomprising a list of links to documents that satisfy the query. In oneembodiment, clicking on a link requests an entire document. As the usernavigates within the document, each portion of the document is presentedor not based on its designation. In another embodiment, clicking on alink requests an excerpt of a document. This excerpt can be, forexample, an excerpt of the document that satisfies the query. Whetherthis excerpt is presented or not is determined by the designations ofthe one or more portions of the document that contain the excerpt.

In a search context, a frequency chart can be built based on a searchindex. For example, a search index can indicate which search terms aremost frequently used and where these search terms are found withindocuments. A portion of a document that contains the most frequentlyused search terms can be designated as absolutely accessible, while aportion of a document that contains the least frequently used searchterms can be designated as inaccessible.

In a preferred embodiment, a search engine that enables a user to searcha portion of a particular document enables the user to search everyportion of the document. Similarly, in a preferred embodiment, everyportion of a document that has been designated as absolutely accessibleor variably accessible can be searched by a user. Alternatively, certainportions of a document cannot be searched. This embodiment can arise by,for example, not creating a search index for certain portions of adocument.

In a preferred embodiment, a document portion that can be searched canalso be presented to the user (if the portion has the properdesignation). Alternatively, certain portions of a document can besearched but cannot be presented to the user (no matter what thedesignation of the portion is). This embodiment can arise by creating asearch index for certain portions but not actually storing the portionsthemselves.

2. Apparatus

Embodiments of the invention will now be further described below withreference to FIGS. 1-3. FIG. 1 illustrates a block diagram of ageneral-purpose computing device for implementing the invention,according to one embodiment of the invention. The computing device 100preferably includes a processor 110, a main memory 120, a data storagedevice 130, and a network controller 180, all of which arecommunicatively coupled to a system bus 140. Computing device 100 maybe, for example, a workstation, a desktop computer, a laptop computer, atablet computer, a personal digital assistant (PDA), or any other typeof computing device.

Processor 110 processes data signals and comprises various computingarchitectures including a complex instruction set computer (CISC)architecture, a reduced instruction set computer (RISC) architecture, oran architecture implementing a combination of instruction sets. Althoughonly a single processor is shown in FIG. 1, multiple processors may beincluded.

Main memory 120 stores instructions and/or data that are executed byprocessor 110. The instructions and/or data comprise code for performingany and/or all of the techniques described herein. Main memory 120 ispreferably a dynamic random access memory (DRAM) device, a static randomaccess memory (SRAM) device, or some other memory device known in theart.

Data storage device 130 stores data and instructions for processor 110and comprises one or more devices including a hard disk drive, a floppydisk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, aDVD-RW device, a flash memory device, or some other mass storage deviceknown in the art.

Network controller 180 links the computing device 100 to a network (notshown).

System bus 140 represents a shared bus for communicating information anddata throughout the computing device 100. System bus 140 represents oneor more buses including an industry standard architecture (ISA) bus, aperipheral component interconnect (PCI) bus, a universal serial bus(USB), or some other bus known in the art to provide similarfunctionality.

Additional components that may be coupled to the computing device 100through system bus 140 include a display device 150, a keyboard 160, anda cursor control device 170. Display device 150 represents any deviceequipped to display electronic images and data to a local user ormaintainer. Display device 150 is a cathode ray tube (CRT), a liquidcrystal display (LCD), or any other similarly equipped display device,screen, or monitor. Keyboard 160 represents an alphanumeric input devicecoupled to computing device 100 to communicate information and commandselections to processor 110. Cursor control device 170 represents a userinput device equipped to communicate positional data as well as commandselections to processor 110. Cursor control device 170 includes a mouse,a trackball, a stylus, a pen, cursor direction keys, or other mechanismsto cause movement of a cursor.

It should be apparent to one skilled in the art that computing device100 includes more or fewer components than those shown in FIG. 1 withoutdeparting from the spirit and scope of the present invention. Forexample, computing device 100 may include additional memory, such as,for example, a first or second level cache or one or more applicationspecific integrated circuits (ASICs). As noted above, computing device100 may be comprised solely of ASICs. In addition, components may becoupled computing device 100 including, for example, image scanningdevices, digital still or video cameras, or other devices that may ormay not be equipped to capture and/or download electronic data to/fromcomputing device 100.

FIG. 2 illustrates a block diagram of a software architecture for asystem that implements the invention, according to one embodiment of theinvention. Generally, several code modules and memory storage areas arestored in the memory 120 for determining whether a search excerpt (e.g.,an excerpt of a document that satisfies a search query) should bepresented to a user. Specifically, the code modules and memory storageareas include a main program module 200, a portion identification module210, a portion designation module 220, and a rule evaluation module 230.Code modules and memory storage areas 200, 210, 220, and 230 arecommunicatively coupled to each other.

Main program module 200 transmits instructions and data to as well asreceives data from each code module and memory.

Portion identification module 210 determines, for a given searchexcerpt, the one or more portions of a document that contain thatexcerpt. In one embodiment, portion identification module 210 comprisesa memory area that stores information about portions that comprise adocument. This memory area can be a table that maps a document to a listof portions comprising the document. The document can be identifiedusing a unique identifier. A portion listed can be a range of thedocument. For example, if the document is a set of images, a range canbe the first ten images. If the document is a sound clip, a range can bethe first ten seconds.

In one embodiment, portion identification module 210 receivesinformation comprising the identity of the document that contains thesearch excerpt. Portion identification module 210 determines a list ofportions comprising the document by using the table described above.

Portion identification module 210 then determines which portion (orportions) contains the search excerpt. In one embodiment, portionidentification module 210 receives information comprising the context ofthe search excerpt within the document. For example, if the document isa set of images, the context can be index numbers of images that containthe search excerpt. If the document is a sound clip, the context can betimestamps of the beginning and end of a sound clip that contains thesearch excerpt. Portion identification module 210 can then use thecontext to determine which portion (or portions) contains the searchexcerpt. Alternatively, portion identification module 210 can determinethe context itself by accessing the content of the search excerpt,accessing the identified document, and then searching for the searchexcerpt content within the document.

Portion designation module 220 determines, for a given portion, thedesignation of that portion. In one embodiment, portion designationmodule 220 comprises a memory area that stores a designation for aportion of a document. This memory area can be a table that maps aportion of a document to that portion's designation. This designationmay be, e.g., inaccessible, absolutely accessible, or variablyaccessible. If the designation is variably accessible, portiondesignation module 220 also stores a rule that, when applied, determineswhether the portion in question should be presented to the particularuser that requested it. In a preferred embodiment, all portions of alldocuments have a designation.

In one embodiment, portion designation module 220 receives informationcomprising the identity of a portion of a document. Portion designationmodule 220 determines the designation of this portion (and itsassociated rule, if the designation is variably accessible) by using thetable described above.

Rule evaluation module 230 determines, for a given rule and a givenuser, whether the user's characteristics satisfy the variableaccessibility rule. As discussed above, a variable accessibility rulecan be based on, for example, one or more characteristics of the user.These characteristics can be, e.g., the user's identity (userid, IPaddress, etc.), whether the user has provided certain pieces ofinformation (email address, credit card number, etc.), and how long theuser has been using the system.

In one embodiment, rule evaluation module 230 accesses informationcomprising a variable accessibility rule. This rule can be returned byportion designation module 220. If a variable accessibility rule usesinformation regarding a user's characteristics, rule evaluation module230 accesses characteristics of the user in question. Thesecharacteristics can be stored by a “cookie” file on the user's machine.Alternatively, if the user has identified herself (e.g., by logging in),this information can be associated with the user and stored in mainmemory 120. Rule evaluation module 230 then applies the rule to theuser's characteristics to determine whether the rule is satisfied.

3. User Scenario

FIG. 3 illustrates a flowchart of a method performed by a main program,according to one embodiment of the invention. This method may be used,for example, in conjunction with a search engine. Before the method ofFIG. 3 begins, a user enters a query into a search engine. The query maycontain various search terms and expressions.

The search engine then generates a set of results. Each resultrepresents a reference to a document that “matches” the query. Theparticular way in which the search engine determines matching documentsis not material to the invention, which may be used with any type ofsearch engine. A document may match a query because, for example, itscontents satisfy the query or because meta-information associated withthe document (e.g., the document's author or publication date) satisfythe query. The search engine provides a search result set, typicallycontaining a list of matching documents.

When a user selects one of the search results (e.g., by clicking on alink of the document's name), the search engine determines a part of thedocument that matches the query (a search excerpt). This process isknown to those of ordinary skill in the art. Main program module 200then begins 300.

Main program module 200 uses portion identification module 210 todetermine 310 a portion of a document that contains the search excerpt.Main program module 200 then uses portion designation module 220 todetermine 320 the designation of that portion.

If the designation is “absolutely accessible,” then the main programmodule 200 indicates 330 that the search excerpt should be presented andthen ends 340. If the designation is “inaccessible,” then the mainprogram module 200 indicates 350 that the search excerpt should not bepresented and then ends 340.

If the designation is “variably accessible,” then the main programmodule 200 uses rule evaluation module 230 to determine 360 whether therule is satisfied. If the rule is satisfied, then the main programmodule 200 indicates 330 that the search excerpt should be presented tothe user and then ends 340. If the rule is not satisfied, then the mainprogram module 200 indicates 350 that the search excerpt should not bepresented to the user and then ends 340.

In one embodiment, if the search excerpt is contained within a pluralityof portions (i.e., if the search excerpt spans multiple portions), thenstep 310 results in multiple portions. Steps 320-360 are then executed(as necessary) for each of these portions, as described above. In oneembodiment, if the rule is satisfied for every portion containing thesearch excerpt, then the search excerpt is presented to the user. Inthis embodiment, if a rule is not satisfied for any portion containingthe search excerpt, then the search excerpt is not presented to theuser. In another embodiment, a part of a search excerpt that iscontained within a particular portion is presented (or not) based on thedesignation of that portion.

In one embodiment, if the search excerpt is contained within a portionthat does not have a designation, then step 320 results in nodesignation. In this situation, a customizable default settingdetermines whether the search excerpt should be presented to the user.Similarly, if a rule cannot be evaluated (e.g., because the necessaryuser characteristics are not known), then a second customizable defaultsetting can determine whether the search excerpt should be presented tothe user.

4. Additional Embodiments

In one embodiment, the designation of a portion is used to indicate how(instead of whether) to present a search excerpt. For example, a searchexcerpt within an “inaccessible” portion is presented, but not in its“true” format. The search excerpt can be distorted before presenting itto the user. Although, in this embodiment, an entire document can bepresented to a user (because even an “inaccessible” search excerpt ispresented), the document is still protected because one or more portionsof it are not presented in their “true” format. Distorting a document inorder to prevent it from being misappropriated is further discussed inco-pending U.S. patent application Ser. No. 10/948,734, entitled “ImageDistortion for Content Security,” which was filed on Sep. 22, 2004 (U.S.Pat. No. 7,561,755).

In the above description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofthe invention. It will be apparent, however, to one skilled in the artthat the invention can be practiced without these specific details. Inother instances, structures and devices are shown in block diagram formin order to avoid obscuring the invention.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the invention. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment.

Some portions of the detailed description are presented in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the discussion, it isappreciated that throughout the description, discussions utilizing termssuch as “processing” or “computing” or “calculating” or “determining” or“displaying” or the like, refer to the action and processes of acomputer system, or similar electronic computing device, thatmanipulates and transforms data represented as physical (electronic)quantities within the computer system's registers and memories intoother data similarly represented as physical quantities within thecomputer system memories or registers or other such information storage,transmission or display devices.

The present invention also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may comprise a general-purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but is not limited to, any type ofdisk including floppy disks, optical disks, CD-ROMs, andmagnetic-optical disks, read-only memories (ROMs), random accessmemories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any typeof media suitable for storing electronic instructions, and each coupledto a computer system bus.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general-purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatuses to perform the required method steps. The required structurefor a variety of these systems appears from the description. Inaddition, the present invention is not described with reference to anyparticular programming language. It will be appreciated that a varietyof programming languages may be used to implement the teachings of theinvention as described herein.

One skilled in the art will recognize that the particular examplesdescribed herein are merely illustrative of representative embodimentsof the invention, and that other arrangements, methods, architectures,and configurations may be implemented without departing from theessential characteristics of the invention. Accordingly, the disclosureof the present invention is intended to be illustrative, but notlimiting, of the scope of the invention, which is set forth in thefollowing claims.

What is claimed is:
 1. A system for providing controlled access to aportion of a document, the system comprising: a non-transitory computerreadable storage medium storing computer program modules executable toperform steps comprising: sending a request from a user to access arequested portion of a plurality of portions of the document to aserver, wherein the server is adapted to: access usage data describinghow many times a plurality of users have accessed the plurality ofportions of the document, wherein the usage data indicates that at leastone portion of the plurality of portions has not been accessed by any ofthe plurality of users; and determine, based on the usage data, whetherto provide access to the requested document portion to the user; andreceiving a response from the server indicating whether the serverdetermined to provide access to the requested document portion to theuser; and a computer processor for executing the computer programmodules.
 2. The system of claim 1, wherein the server determines to denyaccess to the requested document portion responsive to the usage dataindicating that access was provided to all document portions other thanthe requested document portion.
 3. The system of claim 1, wherein theserver determines to grant access to the requested document portionresponsive to the usage data indicating that access was not provided toone or more document portions other than the requested document portion.4. The system of claim 1, wherein the steps further comprise, responsiveto the server determining not to provide access to the requesteddocument portion: receiving a response from the server containing aversion of the requested document portion having a modified visualappearance.
 5. The system of claim 4, wherein the modified visualappearance comprises a distortion of the requested document portion. 6.The system of claim 1, wherein the steps further comprise: sending asearch query to the server, wherein the server identifies the documentresponsive to the search query.
 7. The system of claim 6, wherein therequested document portion is a portion of the document that matches thesearch query.
 8. A non-transitory computer readable storage mediumstoring computer program modules for providing controlled access to aportion of a document, the computer program modules executable toperform steps comprising: receiving a request from a user to access arequested portion of a plurality of portions of the document accessingusage data that describes how many times a plurality of users haveaccessed the plurality of portions of the document, wherein the usagedata indicates that at least one portion of the plurality of portionshas not been accessed by any of the plurality of users; and determining,based on the usage data, whether to provide access to the requesteddocument portion to the user.
 9. The computer readable storage medium ofclaim 8, wherein the steps further comprise: modifying a visualappearance of the requested document portion responsive to determiningnot to provide access to the requested document portion; and providingto the user the modified requested document portion.
 10. The computerreadable storage medium of claim 8, wherein the server determines todeny access to the requested document portion responsive to the usagedata indicating that access was provided to all document portions otherthan the requested document portion.
 11. The computer readable storagemedium of claim 8, wherein the server determines to grant access to therequested document portion responsive to the usage data indicating thataccess was not provided to one or more document portions other than therequested document portion.
 12. The computer readable storage medium ofclaim 8, wherein the steps further comprise: receiving a search queryfrom the user; and identifying the document in response to the searchquery.
 13. The computer readable storage medium of claim 12, wherein therequested document portion is a portion of the document that matches thesearch query.
 14. The computer readable storage medium of claim 8,wherein access to the requested document portion is denied responsive tothe usage data indicating that access was provided to all documentportions other than the requested document portion.
 15. The computerreadable storage medium of claim 8, wherein access to the requesteddocument portion is granted responsive to the usage data indicating thataccess was not provided to one or more document portions other than therequested document portion.
 16. A method implemented by a computercomprising at least one processor for providing controlled access to aportion of a document, the method comprising: receiving a request from auser to access a requested portion of a plurality of portions of thedocument; accessing usage data that describes how many times a pluralityof users have accessed the plurality of portions of the document,wherein the usage data indicates that at least one portion of theplurality of the portions has not been accessed by any of the pluralityof users; and determining, based on the usage data, whether to provideaccess to the requested document portion to the user.
 17. The method ofclaim 16, further comprising: modifying a visual appearance of therequested document portion responsive to determining not to provideaccess to the requested document portion; and providing to the user themodified requested document portion.
 18. The method of claim 16, furthercomprising: receiving a search query from the user; and identifying thedocument in response to the search query.
 19. The method of claim 16,wherein access to the requested document portion is denied responsive tothe usage data indicating that access was provided to all documentportions other than the requested document portion.
 20. The method ofclaim 16, wherein access to the requested document portion is grantedresponsive to the usage data indicating that access was not provided toone or more document portions other than the requested document portion.